From: Carlos Garnacho Date: Wed, 17 Nov 2021 23:13:45 +0000 (+0100) Subject: lookingGlass: Use Clutter.grab() for actor picking X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~530^2^2~193 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=0e4cd3bc797ee444055dc23f5e7aba14cb89f480;p=gnome-shell.git lookingGlass: Use Clutter.grab() for actor picking Part-of: --- diff --git a/js/ui/lookingGlass.js b/js/ui/lookingGlass.js index 433102cfb..b3e7f2117 100644 --- a/js/ui/lookingGlass.js +++ b/js/ui/lookingGlass.js @@ -558,12 +558,7 @@ var Inspector = GObject.registerClass({ eventHandler.connect('scroll-event', this._onScrollEvent.bind(this)); eventHandler.connect('motion-event', this._onMotionEvent.bind(this)); - let seat = Clutter.get_default_backend().get_default_seat(); - this._pointerDevice = seat.get_pointer(); - this._keyboardDevice = seat.get_keyboard(); - - this._pointerDevice.grab(eventHandler); - this._keyboardDevice.grab(eventHandler); + this._grab = global.stage.grab(eventHandler); // this._target is the actor currently shown by the inspector. // this._pointerTarget is the actor directly under the pointer. @@ -596,8 +591,10 @@ var Inspector = GObject.registerClass({ } _close() { - this._pointerDevice.ungrab(); - this._keyboardDevice.ungrab(); + if (this._grab) { + this._grab.dismiss(); + this._grab = null; + } this._eventHandler.destroy(); this._eventHandler = null; this.emit('closed');